package com.agilya.controller;

import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import javax.servlet.annotation.WebListener;
import javax.servlet.http.HttpSession;
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;

import com.agilya.enumere.NiveauDifficulte;

/**
 * Application Lifecycle Listener implementation class AppliListener Met en session les Enum.
 */
@WebListener
public class AppliListener implements ServletContextListener, HttpSessionListener {

	/**
	 * Default constructor.
	 */
	public AppliListener() {
	}

	/**
	 * @see ServletContextListener#contextInitialized(ServletContextEvent)
	 */
	public void contextInitialized(ServletContextEvent arg0) {
		// Nothing
	}

	/**
	 * @see HttpSessionListener#sessionCreated(HttpSessionEvent)
	 */
	public void sessionCreated(HttpSessionEvent se) {

		// recupere la session
		HttpSession session = se.getSession();

		// recupere les valeurs de l'enum NiveauDifficulte
		session.setAttribute("niveauDifficulte", NiveauDifficulte.values());

		// Décommenter pour le développement (permet d'être toujours identifié en administrateur)
		// session.setAttribute("sachantSession", new Sachant(1, "", "", "", "", ""));

	}

	/**
	 * @see HttpSessionListener#sessionDestroyed(HttpSessionEvent)
	 */
	public void sessionDestroyed(HttpSessionEvent arg0) {
		// Nothing
	}

	/**
	 * @see ServletContextListener#contextDestroyed(ServletContextEvent)
	 */
	public void contextDestroyed(ServletContextEvent arg0) {
		// Nothing
	}

}
